iT邦幫忙

2021 iThome 鐵人賽

DAY 27
9
Software Development

奇怪的知識增加了!原來程式還可以這樣用?!系列 第 27

[Day27] 超萌❤ 教你用Python畫天竺鼠車車逗女友開心!

  • 分享至 

  • xImage
  •  

當女朋友說想要你手作的禮物,但比起動手做,你更想寫程式給女友工程師的浪漫,
這時候Python的Turtle套件就派上用場了!既符合手作的要求(手繪),也能展現你的程式魂!

使用環境

基礎用法

  1. 打開畫布、設定畫布大小
screen = turtle.Screen() # 注意S是大寫喔!
screen.setup(500, 500) # 設定畫布(視窗)長寬
  1. 畫筆屬性設定
turtle.pensize() # 線條的寬度
turtle.pencolor() # 線條的顏色
turtle.shape() # 筆尖的形狀,有"arrow"、 "turtle"、"circle"、"square",都很醜,建議隱藏筆尖形狀
turtle.hideturtle() # 隱藏筆尖形狀,除非覺得烏龜形狀很萌
turtle.speed(3) # 畫筆的移動速度,範圍是0-10,數字越大越快。
  1. 畫筆的狀態(在畫布上or從畫布拿起來)

這兩個很重要!要開始畫每一條線前都要先penup(),結束畫線要記得pendown()。

turtle.penup() # 下筆(開始畫圖)
turtle.pendown() # 放下筆(結束畫圖)
  1. 畫筆移動設定

想像畫布中心有一個隱形座標軸,畫筆的移動都是以座標位置決定方向。`

turtle.goto(-10, 22) # 將畫筆移動到(-10, 22)座標處
turtle.forward(40)	 # 向畫筆現在的方向移動40像素長
turtle.backward(40)	 # 向畫筆現在的相反方向移動40像素長
turtle.right(90)	 # 順時針右轉 90°
turtle.left(90)	     # 逆時針左轉 90°
  1. 弧形、點畫法

雖然說circle是畫圓,但是它其實可以畫任何弧度的(正)多邊形

turtle.circle(radius, extent, steps) # 畫半徑為radius的圓,extent是弧度範圍,邊數為steps
turtle.dot(size, color) # 畫直徑為size的點
  1. 填充上色
fillcolor() # 要填滿的顏色
begin_fill() # 開始填充
end_fill() # 結束填充

成果發表會

https://i.imgur.com/ZiLNvCy.gif

開頭看到的箭頭就是上面說的筆尖形狀喔,是不是真的醜醜的!

大家看到這裡可能會想說:怎麼沒有畫天竺鼠車車的程式碼呢?
要給女友的禮物當然要自己coding啊!不然也太沒誠意了!!

我這個差不多畫了一個禮拜,然後某天電腦磁碟突然燒壞程式原始檔就不見了(沒備份QAQ)
這邊向大家承諾!等uncompyle6支援到Python 3.9可以反編譯執行檔後,我就會在這邊補上原始碼了><
(啊等到那時候天竺鼠車車可能都走入歷史了)
https://ithelp.ithome.com.tw/upload/images/20210927/20133286avMD6yhgoe.png

最後再讓大家欣賞我畫了一個禮拜的西羅摩~


上一篇
[Day26] 電腦有秘密檔案不想被發現嗎? 教你用圖片偽裝秘密檔案!
下一篇
[Day28] 戲弄老闆! 教你用Machine Learning將老闆玩弄於股掌之間!
系列文
奇怪的知識增加了!原來程式還可以這樣用?!31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
wilsonsujames
iT邦新手 2 級 ‧ 2021-09-27 12:18:30

問一下 海龜圖可以存嗎?
或是把作畫的過程呈現在網頁上。

lulu_meat iT邦研究生 5 級 ‧ 2021-09-27 13:45:24 檢舉

剛剛查到這篇,可以用Tkinter存成EPS檔案,但是實際用Python3測試會出現錯誤,要把第一行改成

from tkinter import * 

如果是用Python2的話就不用改了~

1
dscwferp
iT邦高手 1 級 ‧ 2021-09-27 12:37:18

我這個差不多畫了一個禮拜,然後某天電腦磁碟突然燒壞程式原始檔就不見了(沒備份QAQ)

要備份啦!
連Gitlab 都會掛點耶!

lulu_meat iT邦研究生 5 級 ‧ 2021-09-27 13:45:40 檢舉

我現在都有乖乖備份~

1
Marvin
iT邦新手 1 級 ‧ 2021-09-27 14:07:04

Pui pui

1
lagagain
iT邦新手 2 級 ‧ 2021-09-28 06:38:59

很猛誒~~
好險GIF還在,要不然就看不到可愛的天竺鼠車車了
乾脆下一篇「想知道Python程式的原始碼嗎?自己讓uncompyle6支援Python3.9」(誤
(不過如果如果硬碟壞了會留着exe或是pyc?我是不是發現什麼不應該發現的/images/emoticon/emoticon04.gif)

lulu_meat iT邦研究生 5 級 ‧ 2021-09-28 08:45:44 檢舉

哈哈哈 因為我之前有傳exe去把妹 他剛好還留著檔案~
算是不幸中的大幸XD

我要留言

立即登入留言